package com.bsoft.gol.hcs.specialist.entity;

import com.fasterxml.jackson.annotation.JsonFormat;

import javax.persistence.*;
import java.util.Date;

/**
 * @author tongtp
 * @version v0.1
 * @className FollowUpRecordsContent
 * @description
 * @create 2020-07-22 18:30
 **/
@Entity
@Table(name = "follow_up_records_content")
public class FollowUpRecordsContent {
	private Long followUpRecordsContentId;
	private Long recordId;
	private Byte indexType;
	private String indexClassifyId;
	private String indexClassifyName;
	private String businessId;
	private String businessName;
	private String projectDetails;
	private String followUpDetail;
	private Long educationId;
	private String educationName;
	private String educationStatus;
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", locale = "zh_CN", timezone = "GMT+8")
	private Date educationTime;
	private String questionnaireId;
	private String questionnaireName;
	private String userInfoId;

	@Id
	@Column(name = "follow_up_records_content_id")
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	public Long getFollowUpRecordsContentId() {
		return followUpRecordsContentId;
	}

	public void setFollowUpRecordsContentId(Long followUpRecordsContentId) {
		this.followUpRecordsContentId = followUpRecordsContentId;
	}

	@Basic
	@Column(name = "record_id")
	public Long getRecordId() {
		return recordId;
	}

	public void setRecordId(Long recordId) {
		this.recordId = recordId;
	}

	@Basic
	@Column(name = "index_type")
	public Byte getIndexType() {
		return indexType;
	}

	public void setIndexType(Byte indexType) {
		this.indexType = indexType;
	}

	@Basic
	@Column(name = "index_classify_id")
	public String getIndexClassifyId() {
		return indexClassifyId;
	}

	public void setIndexClassifyId(String indexClassifyId) {
		this.indexClassifyId = indexClassifyId;
	}

	@Basic
	@Column(name = "index_classify_name")
	public String getIndexClassifyName() {
		return indexClassifyName;
	}

	public void setIndexClassifyName(String indexClassifyName) {
		this.indexClassifyName = indexClassifyName;
	}

	@Basic
	@Column(name = "business_id")
	public String getBusinessId() {
		return businessId;
	}

	public void setBusinessId(String businessId) {
		this.businessId = businessId;
	}

	@Basic
	@Column(name = "business_name")
	public String getBusinessName() {
		return businessName;
	}

	public void setBusinessName(String businessName) {
		this.businessName = businessName;
	}

	@Basic
	@Column(name = "project_details")
	public String getProjectDetails() {
		return projectDetails;
	}

	public void setProjectDetails(String projectDetails) {
		this.projectDetails = projectDetails;
	}

	@Basic
	@Column(name = "follow_up_detail")
	public String getFollowUpDetail() {
		return followUpDetail;
	}

	public void setFollowUpDetail(String followUpDetail) {
		this.followUpDetail = followUpDetail;
	}

	@Basic
	@Column(name = "education_id")
	public Long getEducationId() {
		return educationId;
	}

	public void setEducationId(Long educationId) {
		this.educationId = educationId;
	}

	@Basic
	@Column(name = "education_name")
	public String getEducationName() {
		return educationName;
	}

	public void setEducationName(String educationName) {
		this.educationName = educationName;
	}

	@Basic
	@Column(name = "education_status")
	public String getEducationStatus() {
		return educationStatus;
	}

	public void setEducationStatus(String educationStatus) {
		this.educationStatus = educationStatus;
	}

	@Basic
	@Column(name = "education_time")
	public Date getEducationTime() {
		return educationTime;
	}

	public void setEducationTime(Date educationTime) {
		this.educationTime = educationTime;
	}

	@Basic
	@Column(name = "questionnaire_id")
	public String getQuestionnaireId() {
		return questionnaireId;
	}

	public void setQuestionnaireId(String questionnaireId) {
		this.questionnaireId = questionnaireId;
	}

	@Basic
	@Column(name = "questionnaire_name")
	public String getQuestionnaireName() {
		return questionnaireName;
	}

	public void setQuestionnaireName(String questionnaireName) {
		this.questionnaireName = questionnaireName;
	}

	@Basic
	@Column(name = "user_info_id")
	public String getUserInfoId() {
		return userInfoId;
	}

	public void setUserInfoId(String userInfoId) {
		this.userInfoId = userInfoId;
	}

	@Override
	public boolean equals(Object o) {
		if (this == o) return true;
		if (!(o instanceof FollowUpRecordsContent)) return false;

		FollowUpRecordsContent that = (FollowUpRecordsContent) o;

		if (followUpRecordsContentId != null ? !followUpRecordsContentId.equals(that.followUpRecordsContentId) : that.followUpRecordsContentId != null)
			return false;
		if (recordId != null ? !recordId.equals(that.recordId) : that.recordId != null) return false;
		if (indexType != null ? !indexType.equals(that.indexType) : that.indexType != null) return false;
		if (indexClassifyId != null ? !indexClassifyId.equals(that.indexClassifyId) : that.indexClassifyId != null)
			return false;
		if (indexClassifyName != null ? !indexClassifyName.equals(that.indexClassifyName) : that.indexClassifyName != null)
			return false;
		if (businessId != null ? !businessId.equals(that.businessId) : that.businessId != null) return false;
		if (businessName != null ? !businessName.equals(that.businessName) : that.businessName != null) return false;
		if (projectDetails != null ? !projectDetails.equals(that.projectDetails) : that.projectDetails != null)
			return false;
		if (followUpDetail != null ? !followUpDetail.equals(that.followUpDetail) : that.followUpDetail != null)
			return false;
		if (educationId != null ? !educationId.equals(that.educationId) : that.educationId != null) return false;
		if (educationName != null ? !educationName.equals(that.educationName) : that.educationName != null)
			return false;
		if (educationStatus != null ? !educationStatus.equals(that.educationStatus) : that.educationStatus != null)
			return false;
		if (educationTime != null ? !educationTime.equals(that.educationTime) : that.educationTime != null)
			return false;
		if (questionnaireId != null ? !questionnaireId.equals(that.questionnaireId) : that.questionnaireId != null)
			return false;
		if (questionnaireName != null ? !questionnaireName.equals(that.questionnaireName) : that.questionnaireName != null)
			return false;
		return userInfoId != null ? userInfoId.equals(that.userInfoId) : that.userInfoId == null;
	}

	@Override
	public int hashCode() {
		int result = followUpRecordsContentId != null ? followUpRecordsContentId.hashCode() : 0;
		result = 31 * result + (recordId != null ? recordId.hashCode() : 0);
		result = 31 * result + (indexType != null ? indexType.hashCode() : 0);
		result = 31 * result + (indexClassifyId != null ? indexClassifyId.hashCode() : 0);
		result = 31 * result + (indexClassifyName != null ? indexClassifyName.hashCode() : 0);
		result = 31 * result + (businessId != null ? businessId.hashCode() : 0);
		result = 31 * result + (businessName != null ? businessName.hashCode() : 0);
		result = 31 * result + (projectDetails != null ? projectDetails.hashCode() : 0);
		result = 31 * result + (followUpDetail != null ? followUpDetail.hashCode() : 0);
		result = 31 * result + (educationId != null ? educationId.hashCode() : 0);
		result = 31 * result + (educationName != null ? educationName.hashCode() : 0);
		result = 31 * result + (educationStatus != null ? educationStatus.hashCode() : 0);
		result = 31 * result + (educationTime != null ? educationTime.hashCode() : 0);
		result = 31 * result + (questionnaireId != null ? questionnaireId.hashCode() : 0);
		result = 31 * result + (questionnaireName != null ? questionnaireName.hashCode() : 0);
		result = 31 * result + (userInfoId != null ? userInfoId.hashCode() : 0);
		return result;
	}
}
